/**
 * 表单异步提交：get请求
 * @param url 请求地址
 * @param success 请求成功回调函数
 * @param err 请求失败回调函数
 * @param before 请求之前回调函数
 * @private
 */
function _formGet(obj, url, success, err, before) {
    var form = $(obj).closest("form");
    //如果没有传入url参数
    if (!url) {
        //拿到自己
        url = form.attr("action");
    }

    var option = {
        url: url,
        type: "get",
        dataType: "json",
        data: form.serialize(),
        success: function (result, status, xhr) {
            if (success) {
                success(result);
            } else {
                _prompt("提示信息", result.message);
            }
        },
        error: function (xhr, status, error) {
            if (err) {
                err(error);
            } else {
                _prompt("错误信息", error);
            }
        },
        beforeSend: function () {
            if (before) {
                before();
            }
        }
    };

    $.ajax(option);
}

/**
 * 表单异步提交：post请求
 * @param url 请求地址
 * @param success 请求成功回调函数
 * @param err 请求失败回调函数
 * @param before 请求之前回调函数
 * @private
 */
function _formPost(obj, url, success, err, before) {
    var form = $(obj).closest("form");
    //如果没有传入url参数
    if (!url) {
        //拿到自己
        url = form.attr("action");
    }

    var option = {
        url: url,
        type: "post",
        dataType: "json",
        data: form.serialize(),
        success: function (result, status, xhr) {
            if (success) {
                success(result);
            } else {
                _prompt("提示信息", result.message);
            }
        },
        error: function (xhr, status, error) {
            if (err) {
                err(error);
            } else {
                _prompt("错误信息", error);
            }
        },
        beforeSend: function () {
            if (before) {
                before();
            }
        }
    };

    $.ajax(option);
}

/**
 * 将url路径加上基础路径
 * @param url
 * @returns {*}
 */
function transferUrl(url) {
    var baseUrl = $("base").attr("href");
    if(typeof baseUrl!="string" || baseUrl==""){
        baseUrl = $("base",window.parent).attr("href");
    }
    if(url.indexOf(baseUrl)>-1){
        return url;
    }else{
        url = $.trim(url);
        if(url.charAt(0)=='/'){
            url = url.substr(1);
        }
        return baseUrl + url;
    }
}

/**
 * 重定向浏览器
 * @param url
 */
function sendRedirect(url){
    if(window.parent){
        window.parent.location = transferUrl(url);
    }else{
        window.location = transferUrl(url);
    }
}

/**
 * 重定向到登录界面
 */
function sendToLogin() {
    sendRedirect("/system/gotoLogin");
}

/**
 * 重定向到登录界面
 */
function sendToMainPage() {
    sendRedirect('/main/mainPage');
}